f :: [Int] -> Int
f [] = 0
f (x:xs) = max (f xs) (g (x:xs)) 


g :: [Int]-> Int
g [] = 0
g (x:xs) = max 0 (x + g xs )
